package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 orders
 * 
 * @author ruoyi
 * @date 2024-09-17
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNo;

    /** 父订单号 */
    @Excel(name = "父订单号")
    private String orderNoParent;

    /** 订单来源，1：APP，2：web，3：小程序 */
    @Excel(name = "订单来源，1：APP，2：web，3：小程序")
    private Integer orderSource;

    /** 订单来源名称 */
    @Excel(name = "订单来源名称")
    private String orderSourceName;

    /** 订单状态，-2：已冻结，-1：已取消，0：初始，1：已确认，2：服务中，3：已服务，4：确认费用，99：已结束 */
    @Excel(name = "订单状态，-2：已冻结，-1：已取消，0：初始，1：已确认，2：服务中，3：已服务，4：确认费用，99：已结束")
    private Integer orderStatus;

    /** 订单状态名称 */
    @Excel(name = "订单状态名称")
    private String orderStatusName;

    /** 支付状态，-1：支付失败，0：未支付，1：已支付 */
    @Excel(name = "支付状态，-1：支付失败，0：未支付，1：已支付")
    private Integer payStatus;

    /** 支付状态名称 */
    @Excel(name = "支付状态名称")
    private String payStatusName;

    /** 冻结前状态，取值同订单状态 */
    @Excel(name = "冻结前状态，取值同订单状态")
    private Integer preFrozenStatus;

    /** 冻结前状态名称 */
    @Excel(name = "冻结前状态名称")
    private String preFrozenStatusName;

    /** 退款状态，0：退款中，1：已退款 */
    @Excel(name = "退款状态，0：退款中，1：已退款")
    private Integer refundStatus;

    /** 退款状态名称 */
    @Excel(name = "退款状态名称")
    private String refundStatusName;

    /** 下单人ID */
    @Excel(name = "下单人ID")
    private Long creatorUserId;

    /** 下单人名称 */
    @Excel(name = "下单人名称")
    private String createUserName;

    /** 出行人数 */
    @Excel(name = "出行人数")
    private Long travelerCount;

    /** 特殊需求 */
    @Excel(name = "特殊需求")
    private String specialRequests;

    /** 出行日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出行日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date serviceDate;

    /** 成本价格 */
    @Excel(name = "成本价格")
    private Long priceCost;

    /** 销售价格 */
    @Excel(name = "销售价格")
    private Long priceSale;

    /** 司机ID */
    @Excel(name = "司机ID")
    private Long driverId;

    /** 司机名称 */
    @Excel(name = "司机名称")
    private String driverName;

    /** 司机手机 */
    @Excel(name = "司机手机")
    private String driverPhone;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }

    public void setOrderNoParent(String orderNoParent) 
    {
        this.orderNoParent = orderNoParent;
    }

    public String getOrderNoParent() 
    {
        return orderNoParent;
    }

    public void setOrderSource(Integer orderSource) 
    {
        this.orderSource = orderSource;
    }

    public Integer getOrderSource() 
    {
        return orderSource;
    }

    public void setOrderSourceName(String orderSourceName) 
    {
        this.orderSourceName = orderSourceName;
    }

    public String getOrderSourceName() 
    {
        return orderSourceName;
    }

    public void setOrderStatus(Integer orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus() 
    {
        return orderStatus;
    }

    public void setOrderStatusName(String orderStatusName) 
    {
        this.orderStatusName = orderStatusName;
    }

    public String getOrderStatusName() 
    {
        return orderStatusName;
    }

    public void setPayStatus(Integer payStatus) 
    {
        this.payStatus = payStatus;
    }

    public Integer getPayStatus() 
    {
        return payStatus;
    }

    public void setPayStatusName(String payStatusName) 
    {
        this.payStatusName = payStatusName;
    }

    public String getPayStatusName() 
    {
        return payStatusName;
    }

    public void setPreFrozenStatus(Integer preFrozenStatus) 
    {
        this.preFrozenStatus = preFrozenStatus;
    }

    public Integer getPreFrozenStatus() 
    {
        return preFrozenStatus;
    }

    public void setPreFrozenStatusName(String preFrozenStatusName) 
    {
        this.preFrozenStatusName = preFrozenStatusName;
    }

    public String getPreFrozenStatusName() 
    {
        return preFrozenStatusName;
    }

    public void setRefundStatus(Integer refundStatus) 
    {
        this.refundStatus = refundStatus;
    }

    public Integer getRefundStatus() 
    {
        return refundStatus;
    }

    public void setRefundStatusName(String refundStatusName) 
    {
        this.refundStatusName = refundStatusName;
    }

    public String getRefundStatusName() 
    {
        return refundStatusName;
    }

    public void setCreatorUserId(Long creatorUserId) 
    {
        this.creatorUserId = creatorUserId;
    }

    public Long getCreatorUserId() 
    {
        return creatorUserId;
    }

    public void setCreateUserName(String createUserName) 
    {
        this.createUserName = createUserName;
    }

    public String getCreateUserName() 
    {
        return createUserName;
    }

    public void setTravelerCount(Long travelerCount) 
    {
        this.travelerCount = travelerCount;
    }

    public Long getTravelerCount() 
    {
        return travelerCount;
    }

    public void setSpecialRequests(String specialRequests) 
    {
        this.specialRequests = specialRequests;
    }

    public String getSpecialRequests() 
    {
        return specialRequests;
    }

    public void setServiceDate(Date serviceDate) 
    {
        this.serviceDate = serviceDate;
    }

    public Date getServiceDate() 
    {
        return serviceDate;
    }

    public void setPriceCost(Long priceCost) 
    {
        this.priceCost = priceCost;
    }

    public Long getPriceCost() 
    {
        return priceCost;
    }

    public void setPriceSale(Long priceSale) 
    {
        this.priceSale = priceSale;
    }

    public Long getPriceSale() 
    {
        return priceSale;
    }

    public void setDriverId(Long driverId) 
    {
        this.driverId = driverId;
    }

    public Long getDriverId() 
    {
        return driverId;
    }

    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }

    public void setDriverPhone(String driverPhone) 
    {
        this.driverPhone = driverPhone;
    }

    public String getDriverPhone() 
    {
        return driverPhone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("orderNoParent", getOrderNoParent())
            .append("orderSource", getOrderSource())
            .append("orderSourceName", getOrderSourceName())
            .append("orderStatus", getOrderStatus())
            .append("orderStatusName", getOrderStatusName())
            .append("payStatus", getPayStatus())
            .append("payStatusName", getPayStatusName())
            .append("preFrozenStatus", getPreFrozenStatus())
            .append("preFrozenStatusName", getPreFrozenStatusName())
            .append("refundStatus", getRefundStatus())
            .append("refundStatusName", getRefundStatusName())
            .append("creatorUserId", getCreatorUserId())
            .append("createUserName", getCreateUserName())
            .append("travelerCount", getTravelerCount())
            .append("specialRequests", getSpecialRequests())
            .append("serviceDate", getServiceDate())
            .append("priceCost", getPriceCost())
            .append("priceSale", getPriceSale())
            .append("driverId", getDriverId())
            .append("driverName", getDriverName())
            .append("driverPhone", getDriverPhone())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .toString();
    }
}
